aboutsummaryrefslogtreecommitdiffstats
path: root/src/routes/[username]/settings/_security.svelte
diff options
context:
space:
mode:
Diffstat (limited to 'src/routes/[username]/settings/_security.svelte')
-rw-r--r--src/routes/[username]/settings/_security.svelte15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/routes/[username]/settings/_security.svelte b/src/routes/[username]/settings/_security.svelte
index a74517aa..98b9b503 100644
--- a/src/routes/[username]/settings/_security.svelte
+++ b/src/routes/[username]/settings/_security.svelte
@@ -4,6 +4,7 @@
import { Icon, Qr } from '$comp';
import { Pincode, PincodeInput } from 'svelte-pincode';
import { post, success, failure } from '$lib/utils';
+ import { pin as current } from '$lib/store';
export let user, submit;
@@ -14,6 +15,7 @@
let verifyCode = [];
let tokenInput, pinInput, verifyInput;
let verifying = false;
+ let old;
let startVerifying = () => {
verifying = true;
@@ -24,6 +26,7 @@
let locked;
$: verifyCode.join('').length > 5 && checkPin();
let checkPin = async () => {
+ old = $current;
if (locked) return;
locked = true;
@@ -35,7 +38,8 @@
try {
if (pin.length > 5 && pin === verify) {
- user.pin = pin;
+ user.haspin = true;
+ $current = pin;
submit.click();
} else {
failure('Pin mismatch, try again');
@@ -62,9 +66,9 @@
};
let togglePin = async () => {
- if (user.pin) {
+ if (user.haspin) {
try {
- user.pin = null;
+ pin = null;
submit.click();
} catch (e) {
failure('Failed to disable pin');
@@ -109,7 +113,8 @@
</script>
<div>
- <input type="hidden" name="pin" value={pin} />
+ <input type="hidden" name="newpin" value={pin} />
+
<span class="font-bold mb-1">{verifying ? 'Verify' : 'Security'} PIN</span>
<p class="text-secondary mb-1">
{$t('user.settings.securityPINDescription')}
@@ -141,7 +146,7 @@
</div>
{:else}
<button type="button" class="primary" on:click={togglePin}
- ><Icon icon="lock" style="mr-1" /> {user.pin ? 'Disable Pin' : 'Enable Pin'}</button
+ ><Icon icon="lock" style="mr-1" /> {user.haspin ? 'Disable Pin' : 'Enable Pin'}</button
>
{/if}
</div>